#if !defined(__APP_TASK_H__)
#define __APP_TASK_H__

typedef struct TaskStruct
{
    void (*callback)(void *);
    void *argv;
} Task;

/**
 * @brief 初始化任务管理器
 * 
 * @param executor_count 后台线程数量 
 * @return int 0成功 -1失败
 */
int app_task_init(int executor_count);

/**
 * @brief 向任务管理器中注册任务
 * 
 * @param task 任务
 */
void app_task_registerTask(Task *task);

/**
 * @brief 以阻塞的方式等待Task Manager结束
 * 
 */
void app_task_wait();

/**
 * @brief 关闭任务管理器
 * 
 */
void app_task_close();

#endif // __APP_TASK_H__
